草庐IT

Opengl ES之EGL

全部标签

opengl-es - 在带有 OpenGLES 的 iOS 上如何拥有多个 View ?

在iOS上,如果我想叠加两个View,然后从一个场景混合到另一个场景。例如:从游戏菜单到实际游戏。首先有菜单,然后单击(“开始游戏”)加载游戏View,并从菜单到游戏阶段进行很好的混合/转换。这不是混合的具体问题,而是关于如何在OpenGL应用程序中处理多个View的问题。我已经阅读并尝试了一些关于如何绘制线条、对象、闪电、颜色和类似内容的基础知识,但是当涉及到将它们全部放在一个真实的(不仅仅是一个静态View)OpenGLES应用程序中时,我完全是绿色的。我的意思是你必须使用不同的观点,对吧?或者我们在日常UIKit编程中都习惯的具有不同ViewController和View的设计模

iphone - 使用多个顶点和索引缓冲区对象进行渲染(ios - OpenGLES 2.0)

我无法使用一对以上的顶点和索引缓冲区对象来渲染我的所有对象。为了检查所有内容,我只初始化了3个对象并渲染它们。这会导致前两个对象的几何形状变形,而第三个对象的几何形状渲染得很好(不完美)。当我刚刚初始化所有3个但只是首先渲染时,它再次显示扭曲的几何体并且第三个几何体以某种方式更加可见(即使我没有渲染它)。但是,如果我正在初始化和渲染它们中的任何一个,它就会渲染得很好(完美)。这是我的代码:floattempAngles[4]={0,60,180,360};pieOne=[[IVNodealloc]initWithPieGeometry:0.75thickness:0.20startAn

ios - 从父类中混合 OpenGLES 和 UIKIT 获取 iOS 屏幕截图

我知道这个问题得到了很多回答,但我的情况似乎有所不同。我正在尝试编写一个顶层函数,我可以随时截取我的应用程序的屏幕截图,无论是openGLES还是UIKit,我都无法访问底层类来进行任何更改。我一直在尝试的代码适用于UIKit,但返回OpenGLES部分的黑屏CGSizeimageSize=[[UIScreenmainScreen]bounds].size;if(NULL!=UIGraphicsBeginImageContextWithOptions)UIGraphicsBeginImageContextWithOptions(imageSize,NO,0);elseUIGraphic

ios - 适用于 iOS 的 OpenGLES - glBufferData() - GLuint 不适用于数据字段

我花了半天时间试图解决这个问题,但到目前为止我没有运气,所以我正在寻找一些建议和指导。我正在我的32位iPad3(iOS8)上渲染一个球体。-(void)bufferVBO:(objectVertex[])objVertices:(int)objectVerticesSize:(GLubyte[])vertexIndices:(int)vertexIndicesSize{...glBufferData(GL_ELEMENT_ARRAY_BUFFER,vertexIndicesSize,vertexIndices,GL_STATIC_DRAW);...}这很好用。但是,这最多只能渲染25

ios - 在 iOS 上使用具有多个 VBO 和 IBO(多个对象)OpenGLES 2 的 VAO 进行绘制

我对多个对象(大约200个对象,其中15个对象一次可见,每个对象都有自己的顶点和索引缓冲区)使用VAO(顶点数组对象)感到有些困惑。下面是我的渲染函数-(void)glkView:(GLKView*)viewdrawInRect:(CGRect)rect{glClearColor(0.50f,0.50f,0.50f,1.0f);glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);[superdrawLines];for(inti=0;i0){self.paused=NO;}else{self.paused=YES;}}这工作得很好。在Ope

iphone - 如何在 iPhone 的 OpenGLES 中获取中点值?

我是游戏开发新手。目前我在简单的游戏应用程序中工作,使用GL_Line绘制一条线,使用GL_Trianglestrip绘制一个(球)图像。通常球图像从左向右移动。当用户在屏幕上点击时,然后在屏幕内绘制线条(从上到下)并触摸球图像。所以我尝试从线和球图像中获取中点值,但我不知道如何开始? 最佳答案 如果你有一条从(ax,ay)到(bx,by)的直线,直线的中点就是((ax+bx)/2.0,(ay+by)/2.0)). 关于iphone-如何在iPhone的OpenGLES中获取中点值?,我

android - 在 Z 轴上旋转纹理时 Opengles 图像倾斜

您好,我正在开发一个基于OpenGLES的安卓应用程序,我需要在z轴上实时旋转纹理。但是当我向模型矩阵添加旋转时,图像发生了倾斜。下图第一张是原图,第二张是z轴旋转后的歪斜图这是我的着色器:privatefinalStringmVertexShader=""+"attributevec4position;\n"+"attributevec2textureCoordinate;\n"+"varyingvec2textureCoordinateVarying;\n"+"uniformmat4modelMat;\n"+"uniformmat4viewMat;\n"+"uniformmat4p

OpenGLES:glReadPixels()获取相机GLSurfaceView预览数据并保存

Android现行的CameraAPI2机制可以通过onImageAvailable(ImageReaderreader)回调从底层获取到Jpeg、Yuv和Raw三种格式的Image,然后通过保存Image实现拍照功能,但是却并没有Api能直接在上层直接拿到实时预览的数据。AndroidCamera预览的实现是上层下发Surface到CameraHAL,由CameraHAL也就是android.hardware.camera.provider@2.4-service进程往Surface对应的Buffer中填充预览数据,然后再copy到SurfaceFling中由OpenGL进行渲染显示。实际相

java - OpenGLES - 在运行时创建对象

我是OpenGL的新手,从dev.android.com的小教程开始。示例代码包括这个用于方形几何体的Square类。该对象将在onSurfaceCreated()方法中创建,并使用onDrawFrame()绘制每一帧。以下是Square的示例代码(构造函数和绘制方法):publicSquare(){//initializevertexbytebufferforshapecoordinatesByteBufferbb=ByteBuffer.allocateDirect(squareCoords.length*4);bb.order(ByteOrder.nativeOrder());ve

android - 在 Android 平板电脑上共享 2 个 GLSurfaceViews 之间的 EGL2.0 上下文导致 EGL_BAD_ACCESS

我尝试通过以下代码在2个GLSurfaceView之间共享EGL上下文:createContext(EGL10egl,EGLDisplaydisplay,EGLConfigeglConfig){EGLContextshared=...;//acachedeglcontextint[]attrib_list={EGL_CONTEXT_CLIENT_VERSION,2,EGL10.EGL_NONE};EGLContextcontext=egl.eglCreateContext(display,eglConfig,shared==null?EGL10.EGL_NO_CONTEXT:share